/**
 * base api
 * 有新的资源请求接口请在这里面添加
 */
import request from '@/utils/request'

/**
  * 分组查询 -- 不包含检索式
  * groupDirect desc/asc  只负责groupOrder字段得升序、降序
  * groupOrder 为String类型的字段名，需要排序的字段
  * top 查询前多少个
  * groupDirect groupOrder 在不需要时不要传
  * top，views，viewFields 为'' 时不需要传递给后端
  * @param {Object} data
  * @returns
  */
export function groupNot(data) {
  if (!data.views) {
    delete data.views
  }
  if (!data.top) {
    delete data.top
  }
  if (!data.groupOrder) {
    delete data.groupOrder
    delete data.groupDirect
  }
  return httpPost('/xk-resource-coordination/category/notContainRetrievalQuery', data)
}

/**
  * 分组查询 -- 自定义检索式
  * @param {Object} data
  * @returns
  */
export function groupCustom(data) {
  return httpPost('/xk-resource-coordination/category/customRetrievalQuery', data)
}

/**
  * 分组查询 -- 系统检索式
  * @param {Object} data
  * @returns
  */
export function groupSystem(data) {
  return httpPost('/xk-resource-coordination/category/systemRetrievalQuery', data)
}

/**
  * 分组组合 -- 不包含检索式
  * @param {Object} data
  * @returns
  */
export function groupCombinationNot(data) {
  return httpPost('/xk-resource-coordination/categories/notContainRetrievalQuery', data)
}

/**
  * 分组组合 -- 自定义检索式
  * @param {*} data
  * @returns
  */
export function groupCombinationCustom(data) {
  return httpPost('/xk-resource-coordination/categories/customRetrievalQuery', data)
}

/**
  * 分组组合 -- 系统检索式
  * @param {*} data
  * @returns
  */
export function groupCombinationSystem(data) {
  return httpPost('/xk-resource-coordination/categories/systemRetrievalQuery', data)
}

/**
  * 分页查询 -- 不包含检索式
  * @param {Object} data
  * @returns
  */
export function limitNot(data) {
  const newData = Object.assign({}, { mark: false }, data)
  return httpPost('/xk-resource-coordination/page/notContainRetrievalQuery', newData)
}

/**
  * 分页查询 -- 自定义检索式
  * @param {Object} data
  * @returns
  */
export function limitCustom(data) {
  return httpPost('/xk-resource-coordination/page/custom/customRetrievalQuery', data)
}

/**
  * 分页查询 -- 系统检索式
  * @param {Object} data
  * @returns
  */
export function limitSystem(data) {
  return httpPost('/xk-resource-coordination/page/systemRetrievalQuery', data)
}

/**
  * 数量查询 -- 不包含检索式
  * @param {Object} data
  * @returns
  */
export function countNot(data) {
  return httpPost('/xk-resource-coordination/count/notContainRetrievalQuery', data)
}

/**
  * 数量查询 -- 自定义检索式
  * @param {Object} data
  * @returns
  */
export function countCustom(data) {
  return httpPost('/xk-resource-coordination/count/custom/customRetrievalQuery', data)
}

/**
  * 数量查询 -- 系统检索式
  * @param {Object} data
  * @returns
  */
export function countSystem(data) {
  return httpPost('/xk-resource-coordination/count/systemRetrievalQuery', data)
}

/**
  * 查询详情
  * @param {Object} data
  * @returns
  */
export function detail(data) {
  return httpPost('/xk-resource-coordination/detail/notContainRetrievalQuery', data)
}

/**
  * axios get请求
  * @param {*} url
  * @param {*} params
  * @returns
  */
export function httpGet(url, params) {
  return request({
    url,
    method: 'get',
    params
  })
}

/** 带请求头 */
export function httpGetHeader(url, params, headers) {
  return request({
    url,
    method: 'get',
    params,
    headers
  })
}

/**
  * axios data请求
  * @param {*} url
  * @param {*} data
  * @returns
  */
export function httpPost(url, data) {
  return request({
    url,
    method: 'post',
    data
  })
}

/**
  * axios post params请求
  * @param {*} url
  * @param {*} data
  * @returns
  */
export function httpParamsPost(url, params) {
  return request({
    url,
    method: 'post',
    params
  })
}

/**
  * axios post params header请求
  * @param url
  * @param params
  * @paras header
  */
export function httpParamsHeaderPost(url, params, headers) {
  return request({
    url,
    method: 'post',
    params,
    headers
  })
}
